package com.foreknow.controller;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class CookieDemo extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置服务器向客户端响应的内容的类型（MIME）
        resp.setContentType("text/html;charset=utf-8");
        //设置客户端向服务器端请求的字符编码集为utf-8
        req.setCharacterEncoding("utf-8");
        PrintWriter out = resp.getWriter();

        //(1) 创建一个 Cookie 对象：您可以调用带有 cookie 名称和 cookie 值的 Cookie 构造函数，cookie 名称和 cookie 值都是字符串。
        //Cookie cookie = new Cookie("name","tom123");
        //(2)设置最大生存周期：您可以使用 setMaxAge 方法来指定 cookie 能够保持有效的时间（以秒为单位）。
        //cookie.setMaxAge(1*30*24*60*60);
        //(3) 发送 Cookie 到 HTTP 响应头：您可以使用 response.addCookie 来添加 HTTP 响应头中的 Cookie
        //resp.addCookie(cookie);

        //通过 Servlet 读取 Cookie
        Cookie[] cookies = req.getCookies();
        if(cookies!=null) {
            for (Cookie cookie:cookies) {
                String name = cookie.getName();
                String value = cookie.getValue();
                out.println(name+"---"+value);
            }
        }else {
            out.println("no value......");
        }
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}
